<?php namespace system\model;
//	框架的核心模型类	
	use hdphp\model\Model;
	
//	模型类：管理员表模型
	class User extends Model{
		protected $table='user';
		
//		用户名验证
		protected $validate=array(
			array('account','required','用户名不能为空',3,3),
			array('password','required','密码不能为空',3,3)
		);
		
		public function reg(){
			if(!$this->create()) return FALSE;
//			接收用户名
			$account=Q('post.account','');
//			接收密码
			$pass=Q('post.password','','md5');
			$pass2=Q('post.password2','','md5');
//			查询该条数据
			$data=$this->where('account',$account)->first();
//			判断账户是否存在
			if($data){
//				数据源不存在时
				$this->error='用户名已存在';
				return FALSE;
			}
//			比对两次密码
			if($pass!=$pass2){
//				验证两次密码
				$this->error='两次输入密码不一致';
				return FALSE;
			}
//			加密后的密码压入源数据
			$this->data['password']=$pass;
//			写入数据
			$this->add();
			return true;
		}
		
//		登录判断
		public function login(){
			if(!$this->create()) return FALSE;
//			接收账户、密码
			$account=Q('post.account','');
			$pass=Q('post.password','','md5');
//			获取数据源
			$data=$this->where('account',$account)->first();
//			判断用户是否存在
			if(!$data){
				$this->error='用户名或密码错误请重新登录';
				return false;
			}		
//			比如密码	
			if($pass!=$data['password']){
				$this->error='用户名或密码错误请重新登录';
				return false;
			}
//			把用户ID、昵称写入session中
			$_SESSION['id']=$data['uid'];
			$_SESSION['name']=$data['uname'];
			return true;
			
		}
		
		
//		判断验证用户
		public function store(){
			if(!$this->create()) return FALSE;
//			接收用户名
			$name=Q('post.account','');
//			接收密码
			$pass=Q('post.password','','md5');
//			查询该条数据
			$data=$this->where('account',$name)->first();
//			判断账户是否存在
			if(!$data){
//				数据源不存在时
				$this->error='用户名或密码错误';
				return FALSE;
			}
//			比对当前账户密码
			if($data['password']!=$pass){
				$this->error='用户名或密码错误';
				return FALSE;
			}
//			验证完毕写入session 用户的id、用户名
			$_SESSION['id']=$data['aid'];
			$_SESSION['aname']=$data['aname'];
			return true;
		}
		
//		资料编辑
		public function infoEdit(){
			$_POST['address']=implode('|',$_POST['address']);
			
			$re=$this->update($_POST);
			if(!$re){
				return false;
			}
			return true;
		}
//		用户密码修改
		public function wordEdit(){
			$uid=Q('post.uid',0,'intval');
			
			$data=$this->db->where('uid',$uid)->first();
			if($_POST['oldPwd']!=$data['password']){
				message('原始密码错误，请重新输入',U('word'));die;
			}
			$re=$this->update($_POST);
			if(!$re){
				return false;
			}
			return true;
		}
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	}
	
	





	
	
	
	
	
	
?>